<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>菜鸟教程(runoob.com)</title>
    <script src="https://g.alicdn.com/dingding/dinglogin/0.0.5/ddLogin.js"></script>
    <script src="https://code.jquery.com/jquery-3.1.1.min.js"></script>
</head>
<body>
<div id="login_container"></div>
<button onclick="handleMessage()"> 获取Code</button>
</body>
<script>

    var redirect = "http://127.0.0.1:8087/user/test/dingding";
    var appid = "dingoams2oq4puhmcv6n6u";
    var goto = encodeURIComponent("https://oapi.dingtalk.com/connect/oauth2/sns_authorize?appid=" + appid + "&response_type=code&scope=snsapi_login&state=STATE&redirect_uri=" + redirect);
    var obj = DDLogin({
        id: "login_container",//这里需要你在自己的页面定义一个HTML标签并设置id，例如<div id="login_container"></div>或<span id="login_container"></span>
        goto: goto, //请参考注释里的方式
        style: "border:none;background-color:#FFFFFF;",
        width: "365",
        height: "400"
    });

    var handleMessage = function (event) {
        var origin = event.origin;
        console.log("origin", event.origin);
        if (origin == "https://login.dingtalk.com") { //判断是否来自ddLogin扫码事件。
            var loginTmpCode = event.data;

            //拿到loginTmpCode后就可以在这里构造跳转链接进行跳转了
            console.log("loginTmpCode :" + loginTmpCode);
            getUserInfo(loginTmpCode);
        }
    };

    if (typeof window.addEventListener != 'undefined') {
        window.addEventListener('message', handleMessage, false);
    } else if (typeof window.attachEvent != 'undefined') {
        window.attachEvent('onmessage', handleMessage);
    }

    var getUserInfo = function (loginTmpCode) {

        var data = {"tmp_auth_code": loginTmpCode};

        var urlCode = "https://oapi.dingtalk.com/connect/oauth2/sns_authorize?appid=" + appid +
            "&response_type=code&scope=snsapi_login&state=STATE&redirect_uri=" + redirect + "test" + "&loginTmpCode=" + loginTmpCode;
        window.location.href = urlCode;
    }
</script>
</html>
